<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

class User extends AppModel {

    var $name = 'User';
    var $actsAs = array('Acl' => array('type' => 'requester'),
        'Logable' => array(
            'userModel' => 'User',
            'userKey' => 'user_id',
            'change' => 'full', // options are 'list' or 'full'
            'description_ids' => TRUE // options are TRUE or FALSE
            ));
    var $belongsTo = array(
        'Group' => array(
            'model' => 'Group'
        ),
        'Branch' => array(
            'model' => 'Branch'
        )
    );
    var $hasMany = array(
        'FormActUser' => array(
            'model' => 'FormActUser'
        ),
    );
    var $validate = array(
        'password' => array(
            'notEmpty' => array(
                'rule' => 'notEmpty',
                'message' => 'Debe ingresar una contraseña'
            )
        ),
        'email' => array(
            'email' => array(
                'rule' => 'email',
                'message' => 'Ingrese un correo valido',
                'allowEmpty' => true,
            )
        ),
        'nombre' => array(
            'notEmpty' => array(
                'rule' => 'notEmpty',
                'message' => 'Es obligatorio registrar el nombre del usuario'
            )
        ),
        'primer_apellido' => array(
            'notEmpty' => array(
                'rule' => 'notEmpty',
                'message' => 'Este campo no puede estar en blanco'
            )
        ),
        'username' => array(
            'isUnique' => array(
                'rule' => 'isUnique',
                'message' => 'Este nombre de usuario ya esta asignado'
            ),
            'notEmpty' => array(
                'rule' => 'notEmpty',
                'message' => 'Este campo no puede estar en blanco'
            )
        ),
    );
    var $virtualFields = array('nombre_completo' => 'concat(User.nombre, " ", User.primer_apellido, " ", User.segundo_apellido)');

    // var $actsAs = array('Acl' => array('requester'));

    public function parentNode() {
        if (!$this->id && empty($this->data)) {
            return null;
        }
        if (isset($this->data['User']['group_id'])) {
            $groupId = $this->data['User']['group_id'];
        } else {
            $groupId = $this->field('group_id');
        }
        if (!$groupId) {
            return null;
        } else {
            return array('Group' => array('id' => $groupId));
        }
    }

}

?>
